package com.dayuanit.dao;

import com.dayuanit.entity.Equipment;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

public interface EquipmentDao {

    /**
     * 插入数据
     * @param equipment
     * @return
     */
    int insert(Equipment equipment);

    /**
     * 根据条件进行数量统计
     * @param id
     * @param name
     * @return
     */
    Integer countByIdOrName(@Param("id") Long id, @Param("name") String name);

    /**
     *  分页查询数据
     * @param id
     * @param name
     * @param index
     * @param pageSize
     * @return
     */
    List<Equipment> queryEquipmentPage(@Param("id") Long id, @Param("name") String name, @Param("row") Integer index, @Param("rowSize") Integer pageSize);

    /**
     * 批量删除（逻辑删除 本质上是更新数据）
     * @param idList
     */
    void batchDelete(@Param("idList") List<Long> idList);

    /**
     * 根据id更新基础信息
     * @param id
     * @param equipmentName
     * @param color
     * @param size
     * @param price
     * @param useAge
     * @param useStatus
     * @param healthStatus
     */
    void updateInfoById(@Param("id")Long id, @Param("equipmentName")String equipmentName, @Param("color")String color,
                        @Param("size")String size, @Param("price")BigDecimal price, @Param("useAge")String useAge,
                        @Param("useStatus")Integer useStatus, @Param("healthStatus")Integer healthStatus);


    /**
     * 查询所有的设备
     * @return
     */
    List<Equipment> queryEquipment();


    /**
     * 根据主键查设备
     * @param id
     * @return
     */
    Equipment findById(@Param("id") Long id);
}
